package top.v5it.japi.plus.log;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 日志记录
 *
 * @author zhanpu
 * @date 2021/3/24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class OperLog implements Serializable {

    private static final long serialVersionUID = 8025979557338369282L;

    /**
     * 日志类型
     */
    private OperType type;

    /**
     * 日志标题
     */
    private String title;

    /**
     * 请求方法
     */
    private String method;

    /**
     * 用户代理
     */
    private String userAgent;

    /**
     * 请求id
     */
    private String requestId;

    /**
     * 接入来源
     */
    private String channel;

    /**
     * 请求url
     */
    private String operUrl;

    /**
     * 请求ip
     */
    private String operIp;

    /**
     * 请求地址
     */
    private String operAddr;

    /**
     * 请求参数
     */
    private String operParam;

    /**
     * 响应状态
     */
    private Integer status;

    /**
     * 响应信息
     */
    private String message;

    /**
     * 业务执行执行时间
     */
    private long executeTime;

    /**
     * 处理时间
     */
    private LocalDateTime operTime;

    /**
     * head authorization
     */
    private String authorization;

    /**
     * 返回参数
     */
    private String rtvParam;

    /**
     * 全局用时，从认证到业务返回整个用时时间
     */
    private long globalTime;

}
